import request from '@/config/axios'

// 收藏 VO
export interface FavoritesVO {
  id: number // 主键
  userId: number // 用户ID
  targetId: number // 目标资源ID
  targetType: string // 目标资源类型
  favoriteTime: Date // 收藏时间
  creatorName: string // 创建人
  updaterName: string // 更新人
  version: number // 版本号
}

// 收藏 API
export const FavoritesApi = {
  // 查询收藏分页
  getFavoritesPage: async (params: any) => {
    return await request.get({ url: `/common/favorites/page`, params })
  },

  // 查询收藏详情
  getFavorites: async (id: number) => {
    return await request.get({ url: `/common/favorites/get?id=` + id })
  },

  // 新增收藏
  createFavorites: async (data: FavoritesVO) => {
    return await request.post({ url: `/common/favorites/create`, data })
  },

  // 修改收藏
  updateFavorites: async (data: FavoritesVO) => {
    return await request.put({ url: `/common/favorites/update`, data })
  },

  // 删除收藏
  deleteFavorites: async (id: number) => {
    return await request.delete({ url: `/common/favorites/delete?id=` + id })
  },

  // 导出收藏 Excel
  exportFavorites: async (params) => {
    return await request.download({ url: `/common/favorites/export-excel`, params })
  },
}